﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AvaloniaAndroid.Core.WIFI
{
    // WiFi信息模型
    public class WifiInfo
    {
        public string Ssid { get; set; } // 网络名称
        public string Bssid { get; set; } // 路由器MAC地址
        public int SignalStrength { get; set; } // 信号强度
        public bool IsEncrypted { get; set; } // 是否加密
        public string EncryptionType { get; set; } // 加密类型
        public bool IsConnected { get; set; } // 是否已连接
    }

    // WiFi服务接口
    public interface IWifiService
    {
        // 检查WiFi是否开启
        bool IsWifiEnabled();

        // 开启或关闭WiFi
        Task SetWifiEnabled(bool enabled);

        // 获取附近可用WiFi列表
        Task<List<WifiInfo>> GetAvailableNetworks();

        // 连接指定WiFi
        Task<bool> ConnectToWifi(string ssid, string password = null);

        // 断开指定WiFi连接
        Task<bool> DisconnectFromWifi(string ssid);

        // 获取当前已连接的WiFi
        WifiInfo GetConnectedWifi();
    }
}
